Great forward strides have been made in the field of computer technology to increase the instruction execution rate for small, medium, and large computer processors. The progress has come both in connection with hardware structure and components and with software techniques. In addition, the introduction of the microprocessor, in combination with large scale integrated circuit techniques, has led the processor manufacturers to more complex and sophisticated apparatus capable of solving the problems of both the generalist and the specialist.
The application of computer technology to the special purpose processor has increased the speed and operation of computers for special applications. To this end, many computer systems have been developed, specifically directed to such specialized areas as pattern recognition, statistical estimation, bit packing and unpacking, business and accounting problems, etc. Often, the designers of prior art equipment have incorporated into their devices the latest technological advances which utilize complex hardware interactions and machine cycles each having a plurality of clock timing pulses to increase the effective rate of machine operation.
Older methods of increasing the effective speed of a machine are also well known. Thus the use of several parallel paths of processing (often called parallel processing) to perform several different computational tasks or manipulative steps simultaneously has often been used. Typically, the organization of the parallel processor provides a plurality of individual processors or functional units permanently connected in parallel. Each unit or processor either operates on a separate and often separable "piece" of a problem usually simultaneously, or alternately, a plurality of units or processors are configured or wired to provide a pipeline effect whereby the intermediate results of computation are passed to consecutive processors, to determine a desired end result. The processors or units in these embodiments are however usually complex elements often capable of acting as complete processors themselves, and even when the units or processors are elemental in nature, the configuration and flow of data is substantially fixed and rigid.
The design of a computing apparatus using present day devices is well known in the art according to standard textbook procedures, however, the available computing apparatus have herebefore been unable to process large amount of data in real time as required for example by the speech analysis apparatus described in Moshier, U.S. Pat. No. 4,038,503, issued July 26, 1977 to the assignee of this invention.
A principal object of this invention is therefore to provide a data processing apparatus having an increased effective execution speed for processing arrays of speech and speech related data in real time. Further objects of the invention are to provide a data processing apparatus having a simple and flexible structure, which is reliable, which executes several machine operations in a single instruction cycle time, which incorporates a "pipeline" effect, and which uses high speed commercial components.
Other objects of the invention are to provide a data processing apparatus which is directed to the real time processing of large arrays of data, which can interact with a host computer, and which flexibly configures, under program control, a plurality of elementary function modules to process the data.